package com.djzhou.gmms.service.department;

import java.util.List;

import com.djzhou.gmms.model.company.TbCompany;
import com.djzhou.gmms.model.department.TbDepartment;
import com.djzhou.gmms.service.base.BaseService;

public interface DepartmentService extends BaseService<TbDepartment>{
	/**
	 * 获取部门列表
	 * @param companyId 部门所属公司ID
	 * @param departmentId 若传0则获取公司内所有部门列表(添加用) 若传部门ID则筛除该部门(编辑用)
	 * @return
	 */
	public List<TbDepartment> queryList(Integer companyId,Integer departmentId);
	/**
	 * 通过父级部门(中心)获取子级部门列表
	 * @param companyId 公司ID
	 * @param parentDepartmentId 部门ID
	 * @return
	 */
	public List<TbDepartment> queryChildList(Integer companyId,Integer parentDepartmentId);
	/**
	 * 通过父级部门ID获取所有子级部门列表
	 * @param parentCompanyId 公司ID
	 * @return
	 */
	public List<TbDepartment> queryAllChildList(Integer companyId,Integer parentDepartmentId);
	/**
	 * 设置默认部门
	 *FOR JEasyFrame
	 * @param departmentId
	 */
	public void updateDepartmentDefault(Integer departmentId);
	/**
	 * 通过部门名称查询
	 * @param departmentName
	 * @return
	 */
	public List<TbDepartment> queryDepartmentByName(String departmentName);
}
